package cn.tedu.ivos.vehicle.service;

import cn.tedu.ivos.vehicle.pojo.dto.VehicleQueryDTO;
import cn.tedu.ivos.vehicle.pojo.dto.VehicleSaveOrUpdateParamDTO;
import cn.tedu.ivos.vehicle.pojo.vo.VehicleVO;

import java.util.List;

public interface VehicleService {
    /**根据条件查询所有车辆信息*/
    List<VehicleVO> selectVehicle(VehicleQueryDTO vehicleQuery);

    /**新增/更新mysql中的车辆信息*/
    String saveOrUpdateVehicle(VehicleSaveOrUpdateParamDTO vehicleSaveParam);

    /**根据车辆id，从mysql中删除车辆信息*/
    void deleteVehicle(Long vehicleId);

    /**解除geofenceId的电子围栏绑定的所有车辆*/
    void unbindVehicle(Long vehicleId);

    /**将编号为{geofenceId}的电子围栏和编号为{vehicleId}的车辆进行绑定*/
    void bindVehicle(Long geofenceId, Long vehicleId);
}
